

#include <array>
#include <cassert>
#include <iostream>
#include <vector>
using namespace std;

int main() {
  int a{2}, b{3};
  cout << static_cast<int>(0.4) << endl;
  cout << static_cast<int>(0.6) << endl;
  cout << static_cast<int>(-0.4) << endl;
  cout << static_cast<int>(-0.6) << endl;
  cout << static_cast<int>(1.4) << endl;
  cout << static_cast<int>(1.6) << endl;
  cout << static_cast<int>(-1.4) << endl;
  cout << static_cast<int>(-1.6) << endl;

  int strand_id{0};
  bool tag{true};
  strand_id += tag == true ? 10 : 0;
  cout << strand_id << endl;

  cout << sizeof(array<array<double, 3>, 3>) << std::endl;
  int d = 10;
  d = d;
  cout << d << endl;
  pair<string, int> si_pair{"ding", 3};
  vector<pair<string, int>> vec_pair{{"ding", 0}, {"xue", 1}, {"jun", 2}};
  for (int i = 0; i < 3; ++i) {
    cout << vec_pair[i].first << "  " << vec_pair[i].second << endl;
  }
  return 0;
}

// Subscript[a, 0] -> bc_val, Subscript[a, 1] ->
//  1/20160 (72064 bc_val - 99225 cell_val[0] +
//     44100 cell_val[offset] - 23814 cell_val[2*offset] +
//     8100 cell_val[3*offset] - 1225 cell_val[4*offset]), Subscript[a, 2] ->
//  1/756 (3040 bc_val - 5859 cell_val[0] +
//     4809 cell_val[offset] - 2835 cell_val[2*offset] +
//     999 cell_val[3*offset] - 154 cell_val[4*offset]), Subscript[a, 3] -> (
//  2944 bc_val - 6489 cell_val[0] + 6888 cell_val[offset] -
//   4914 cell_val[2*offset] + 1872 cell_val[3*offset] -
//   301 cell_val[4*offset])/1512, Subscript[a, 4] ->
//  1/189 (80 bc_val - 189 cell_val[0] +
//     231 cell_val[offset] - 189 cell_val[2*offset] + 81 cell_val[3*offset] -
//     14 cell_val[4*offset]), Subscript[a, 5] -> (
//  128 bc_val - 315 cell_val[0] + 420 cell_val[offset] -
//   378 cell_val[2*offset] + 180 cell_val[3*offset] - 35
//   cell_val[4*offset])/3780

// 5阶
// Subscript[a, 0] -> cell_val[0], Subscript[a, 1] ->
//  1/840 (2816 cell_val[0] - 3675 cell_val[offset] +
//     1225 cell_val[2*offset] - 441 cell_val[3*offset] +
//     75 cell_val[4*offset]), Subscript[a, 2] ->
//  1/420 (1376 cell_val[0] - 2485 cell_val[offset] +
//     1645 cell_val[2*offset] - 651 cell_val[3*offset] +
//     115 cell_val[4*offset]), Subscript[a, 3] ->
//  1/210 (256 cell_val[0] - 525 cell_val[offset] +
//     455 cell_val[2*offset] - 231 cell_val[3*offset] +
//     45 cell_val[4*offset]), Subscript[a, 4] ->
//  1/105 (16 cell_val[0] - 35 cell_val[offset] +
//     35 cell_val[2*offset] - 21 cell_val[3*offset] + 5 cell_val[4*offset])

// 4阶
// Subscript[a, 0] -> cell_val[0], Subscript[a, 1] ->
//  1/60 (184 cell_val[0] - 225 cell_val[offset] +
//     50 cell_val[2*offset] - 9 cell_val[3*offset]), Subscript[a, 2] ->
//  2/5 (6 cell_val[0] - 10 cell_val[offset] + 5 cell_val[2*offset] -
//     cell_val[3*offset]), Subscript[a, 3] ->
//  1/15 (8 cell_val[0] - 15 cell_val[offset] + 10 cell_val[2*offset] -
//     3 cell_val[3*offset])

// 2阶
// Subscript[a, 0] -> cell_val[0], Subscript[a, 1] ->
//  2 (cell_val[0] - cell_val[offset])